
package persistencia;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import classe.Administrador;

/**
 *
 * @author Amanda
 */
public class PersistenciaAdministrador {

    public static ArrayList<Administrador> administradorList = new ArrayList<Administrador>();

    public static void gravarobjeto(Administrador administrador) {
        administradorList.add(administrador);

    }
    public static void senhaEUsuraioDefault(){
        if(administradorList.isEmpty()){
            System.err.println("Criando default");
            Administrador adm=new Administrador("admin" ,"admin");
            administradorList.add(adm);
        }
    }

    public static void escreverArqAdministrador() throws Exception {

        File arqAdministrador = new File("arqAdministrador.txt");
        FileWriter escritor = new FileWriter(arqAdministrador);
        PrintWriter escrever = new PrintWriter(escritor);

        if (administradorList.size() >= 0) {
            for (int i = 0; i < administradorList.size(); i++) {
                escrever.println();
                escrever.println(administradorList.get(i).getNome());
                escrever.println(administradorList.get(i).getCpf());
                escrever.println(administradorList.get(i).getSenha());


            }

            escrever.close();
            escritor.close();

        }
    }

    public static void lerArqAdministrador() throws Exception {
        String nome, cpf, senha;

        File arquivo = new File("arqAdministrador.txt");
        if (arquivo.exists()) {

            File arqAdministrador = new File("arqAdministrador.txt");
            FileReader filereader = new FileReader(arqAdministrador);
            BufferedReader leitor = new BufferedReader(filereader);
            String linha = null;

            while ((linha = leitor.readLine()) != null) {

                nome = (leitor.readLine());
                cpf = (leitor.readLine());
                senha = (leitor.readLine());

                Administrador adm = new Administrador(nome, cpf);
                adm.setSenha(senha);

                administradorList.add(adm);
            }
        }
    }

    public static boolean verificaSenhaAdministrador(String cpf, String senha) {
        boolean respostaFinal = false;
        for (int i = 0; i < PersistenciaAdministrador.administradorList.size(); i++) {
            if (PersistenciaAdministrador.administradorList.get(i).getCpf().equals(cpf)) {
                if (PersistenciaAdministrador.administradorList.get(i).getSenha().equals(senha)) {
                    return true;
                } else {
                    respostaFinal = false;
                }
            }
        }
        return respostaFinal;
    }

    public static boolean verificaExisteAdministrador(String cpf) {
        boolean respostaFinal = false;
        for (int i = 0; i < PersistenciaAdministrador.administradorList.size(); i++) {
            //System.out.println(PersistenciaAdministrador.administradorList.get(i).getCpf()+" - "+cpf);
            if (PersistenciaAdministrador.administradorList.get(i).getCpf().contains(cpf)) {
                respostaFinal = true;
            }
        }
        return respostaFinal;
    }

    public static boolean buscarNome(String nome) {
        boolean respostaFinal = false;
        for (int i = 0; i < PersistenciaAdministrador.administradorList.size(); i++) {
            //System.out.println(PersistenciaAdministrador.administradorList.get(i).getCpf()+" - "+cpf);
            if (PersistenciaAdministrador.administradorList.get(i).getNome().contains(nome)) {
                respostaFinal = true;
            }
        }
        return respostaFinal;
    }

    public static void mudaSenha(String cpf, String senha){
        for(int i=0; i<PersistenciaAdministrador.administradorList.size(); i++){
            if(PersistenciaAdministrador.administradorList.get(i).getCpf().equals(cpf)){
                PersistenciaAdministrador.administradorList.get(i).setSenha(senha);
            }
        }
    }
    
    public static ArrayList criaVetorAdministrador() {
        int contador = 0;

        ArrayList<String> lista = new ArrayList<String>();

        for (int i = 0; i < PersistenciaAdministrador.administradorList.size(); i++) {
            lista.add("Nome:" + PersistenciaAdministrador.administradorList.get(i).getNome() + "     CPF:" + PersistenciaAdministrador.administradorList.get(i).getCpf());
            contador++;
        }
        if (contador == 0) {
            lista.add("Não há administrador cadastrados");
        }
        return lista;
    }
}
